このチュートリアルでは、Matrixコントロールを使用したレポートの作成方法を紹介します。ドリルダウンレポートと同様の処理を実現するには、「Matrix」データ領域を使用して、ネストされたグループおよび集計を使用する必要があります。
このトピックでは、以下のタスクを行います。
- Visual StudioプロジェクトにActiveReportを追加する
- レポートをデータソースに接続する
- データセットを追加する
- レポートのレイアウトを作成する
- Matrixにネストされたグループとドリルダウンを追加する
- Matrixに集計を追加する
- レポートの外観を整える
- レポートを表示する
|
メモ:
- このチュートリアルでは、Reelsデータベース(Reels.mdb)のSaleテーブルを使用しています。Reelsデータベース(..\ActiveReportsNET9\Data\Reels.mdb)へのアクセス権限が必要です。
- このチュートリアルではページレポートを使用していますが、RDLレポートを使用した場合も同様の手順で作成することが可能です。
|
チュートリアルを完了すると、次のレポートが作成されます。
設計時のレイアウト
実行時のレイアウト
Visual StudioプロジェクトにActiveReportを追加する
- Visual Studioで新規プロジェクトを開きます。
- [プロジェクト]メニューから[新しい項目の追加]を選択します。
- [新しい項目の追加]ダイアログで[ActiveReports 9.0Jページレポート]を選択し、ファイル名を「rptMatrix」に変更します。
- [追加]ボタンをクリックします。
詳細については、「プロジェクトにレポートを追加する」を参照してくだざい。
レポートをデータソースに接続する
データセットを追加する
- [レポートエクスプローラ]で、[追加]ボタンから[データセット]を選択します。
- [データセット]ダイアログで[全般]ページを選択し、[名前]フィールドを「Sale」に変更します。この名前はレポートエクスプローラで、データソースの子ノードとして表示されます。
-
[データセット]ダイアログの[クエリ]ページで、クエリフィールドに次のSQLクエリを入力します。
SQLクエリ |
コードのコピー
|
SELECT Store, SaleDate, SalesAmount FROM Sale ORDER BY Store, SaleDate
|
- クエリを検証するには、クエリボックスの横にある[データセットの検証]アイコンをクリックします。
-
[データセット]ダイアログのの[フィールド]ページで、以下の3つの計算フィールドを追加し、値を設定します。フィールドを追加するには、ダイアログ右上の[追加]ボタンをクリックします。
フィールド名 |
値 |
Month |
=Fields!SaleDate.Value.Month |
Quarter |
=Choose(1 + ((Fields!Month.Value - 1)\3), "Q1", "Q2", "Q3", "Q4") |
Year |
=Fields!SaleDate.Value.Year |
- [OK]をクリックしてダイアログを閉じます。Saleデータセットおよび各フィールドは、レポートエクスプローラにノードとして表示されます。
レポートのレイアウトを作成する
- デザイナ面の下のグレーの領域をクリックし、レポートを選択します。[プロパティ]ウィンドウからPageSizeプロパティを展開して、Widthプロパティを「42cm」、Heightプロパティを「29.7cm」に設定します。
- Visual StudioのツールボックスからMatrixデータ領域をレポートのデザイナ面上にドラッグし、以下のように設定します。なお、初期状態では、Matrixデータ領域は4つのテキストボックスで構成されます。
プロパティ名 |
値 |
Location |
1cm, 1cm |
Size |
8cm, 3cm |
FixedSize |
35cm, 18cm |
- レポートエクスプローラで、Saleデータセットから[Store]フィールドをMatrixデータ領域の左下のセル上にドラッグします。左下のセルは行ヘッダを表し、ここには行方向にグループ化する値を設定します。フィールドをこのセル上にドラッグすることで行グループが自動的に作成されます。
- [Store]セルを選択した状態で、[プロパティ]ウィンドウから、Valueプロパティを「
="商店番号" & Fields!Store.Value
」に設定します。
- [レポートエクスプローラ]で、Saleデータセットから[Year]フィールドをMatrixデータ領域の右上のセルにドラッグします。右上のセルは列ヘッダを表し、ここには列方向にグループ化する値を設定します。フィールドをこのセル上にドラッグすることで列グループが自動的に作成されます。
- [Year]セルを選択した状態で、[プロパティ]ウィンドウから、TextAlignプロパティを「Center」に設定します。
- [レポートエクスプローラ]で、Saleデータセットから[SalesAmount]フィールドをMatrixデータ領域の右下のセルにドラッグします。右下のセルは詳細セルを表し、各列と各行の集計値を設定します。
- [SalesAmount]セルを選択した状態で、[プロパティ]ウィンドウから、Formatプロパティを「Currency」に設定します。
Matrixにネストされたグループとドリルダウン機能を追加する
- [レポートエクスプローラ]で、Saleデータセットから[Quarter]フィールドを右上の[Year]セル上にドラッグすると、セルの上下どちらにフィールドを追加するか示すインジケータバーが表示されます。[Year]セルの下に追加するために、バーが下側に表示された状態でドロップします。
これにより、子となる列グループが追加され、集計表が階層表示されます。
- [Quarter]セルを選択した状態で、[プロパティ]ウィンドウから、TextAlign プロパティを「Center」に設定します。
- 次に、Matrixデータ領域を選択し、[プロパティ]ウィンドウの下部にある[プロパティ設定ダイアログ]コマンドを選択して、[Matrix]ダイアログを開きます。詳細については、「[プロパティ] ウィンドウ」を参照してください。
- [列グループ]ページで[Matrix1_Quarter]グループを選択し、[表示]タブを開きます。
-
[表示]タブで[レポートの初期実行時]オプションを[非表示]に設定し、[次のレポートアイテムでの表示の切り替えを可能にする]のチェックボックスをオンにします。
|
ヒント: ドリルダウンの機能を使用するには、グループを非表示に設定する必要があります。 |
- 有効になったドロップダウンに対して、「TextBox3」(Matrixデータ領域の[Year]セルの名前)と入力し、[OK]をクリックしてダイアログを閉じます。
これを設定することで、実行時に[Year]の横に表示される[+]アイコンをクリックして、[Quarter]の詳細情報を展開して表示できます。
- [レポートエクスプローラ]で、Saleデータセットから[Month]フィールドを右上の[Quarter]セル上にドラッグすると、セルの上下どちらにフィールドを追加するか示すインジケータバーが表示されます。[Quarter]セルの下に追加するために、バーが下側に表示された状態でドロップします。
これにより、子となる列グループが追加され、集計表が階層表示されます。
- 次に、Matrixデータ領域を選択し、[プロパティ]ウィンドウの下部にある[プロパティ設定ダイアログ]コマンドを選択して、[Matrix]ダイアログを開きます。
- [列グループ]ページで[Matrix1_Month]グループを選択し、[表示]タブを開きます。
- [表示]タブで[レポートの初期実行時]オプションを[非表示]に設定し、[次のレポートアイテムでの表示の切り替えを可能にする]のチェックボックスをオンにします。
- 有効になったドロップダウンに対して、「TextBox5」(Matrixデータ領域の[Quarter]セルの名前)と入力し、[OK]をクリックしてダイアログを閉じます。
これを設定することで、実行時に[Quarter]の横に表示される[+]アイコンをクリックして、[Month]の詳細情報を展開して表示できます。
Matrixに集計を追加する
集計を追加して、各グループの合計をグループ右の新しい列に表示します。
- [Year]セルを右クリックし、[集計]を選択します。[Total]と表示された列(左上に緑色のマーク付)が右側に追加されます。
- 追加した[Total]セルを選択した状態で、[プロパティ]ウィンドウから以下のプロパティを設定します。
プロパティ名 |
値 |
TextAlign |
Center |
Value |
合計 |
- [Quarter]セルを右クリックし、[集計]を選択します。
- 追加した[Total]セルを選択した状態で、[プロパティ]ウィンドウから以下のプロパティを設定します。
プロパティ名 |
値 |
TextAlign |
Center |
Value |
=Fields!Year.Value & " 小計" |
- [Month]セルを右クリックし、[集計]を選択します。
- 追加した[Total]セルを選択した状態で、[プロパティ]ウィンドウから以下のプロパティを設定します。
プロパティ名 |
値 |
TextAlign |
Center |
Value |
=Fields!Quarter.Value & " 小計" |
レポートの外観を整える
この時点でレポートをプレビューすると、すべてのデータは正確に表示されます。ただし、ドリルダウンで展開表示するとデータの識別がしにくくなるため、背景色と罫線を使用してレポートの可読性を向上させます。
- Matrixデータ領域の[Month]フィールドのTextBoxを選択して、[プロパティ] ウィンドウから以下のプロパティを設定します。
プロパティ名 |
値 |
Format |
MMMM |
Value |
=Fields!SaleDate.Value |
|
メモ: TextBoxのValueプロパティを変更してもグループの値は変更されないため、データはMonthによってグループ化されます。 |
-
[Shift]キーを押しながら、1行目の[Year]セルおよび右隣の集計セルを選択し、[プロパティ]ウィンドウから以下のプロパティを設定します。
プロパティ名 |
値 |
BackgroundColor |
Gainsboro |
BorderStyle |
Solid |
-
[Shift]キーを押しながら、2行目の[Quarter]セルおよび右隣の集計セルを選択し、[プロパティ]ウィンドウから以下のプロパティを設定します。
プロパティ名 |
値 |
BackgroundColor |
LightSteelBlue |
BorderStyle |
Solid |
-
[Shift]キーを押しながら、3行目の[SalesDate]セルおよび右隣の集計セルを選択し、[プロパティ]ウィンドウから以下のプロパティを設定します。
プロパティ名 |
値 |
BackgroundColor |
AliceBlue |
BorderStyle |
Solid |
-
[Shift]キーを押しながら、4行目の[Store]セルおよび右隣の詳細セルを選択し、[プロパティ]ウィンドウから以下のプロパティを設定します。
プロパティ名 |
値 |
BorderStyle |
Solid |
- ツールボックスからデザイナ面上に「Textbox」コントロールドラッグして、レポートページの幅に合わせるように拡大します。
|
ヒント:RDLレポートの場合は、ページヘッダ上にTextBoxコントロールを配置することができます。 |
-
[プロパティ]ウィンドウへ移動し、以下のプロパティを設定します。
プロパティ名 |
値 |
Location |
1cm, 0cm |
Size |
35cm, 1cm |
TextAlign |
Center |
FontSize |
14pt |
Value |
商店別の売上 |
レポートを表示する
- 設計時にレポートを表示するには、[プレビュー]タブをクリックします。
または、
関連トピック